/*
 * 1.00 2012/09/20
 *
 * Copyright (c) 2012 Motch_bs
 * All rights reserved.
 *
 * このソフトウェアは，Motch_bsに所有される機密情報である。
 * これらの機密情報を漏洩してはならず，Motch_bs の意図する
 * 認可の元においてこれを使用すべし。
 */
package jp.co.ufp.sevendaystask_free.forms;

import jp.co.ufp.sevendaystask_free.R;
import jp.co.ufp.sevendaystask_free.constants.C;
import jp.co.ufp.sevendaystask_free.logics.Logic001;
import jp.co.ufp.sevendaystask_free.logics.Logic020;
import jp.co.ufp.sevendaystask_free.storage.QueryManager;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.Window;
import android.widget.LinearLayout;

/**
 * 時間スケジュール表示
 * 
 * @author Motch_bs
 * 
 */
public class ListTimeForm extends Activity {

    /** データベースヘルパー */
    private QueryManager queryManager;

    /** レイアウト */
    private LinearLayout linerLayout;

    /** 曜日選択位置 */
    private int position_week = 0;

    /***/
    private Logic020 logic020;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(
	Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	getWindow().requestFeature(Window.FEATURE_LEFT_ICON);// アイコン表示
	setContentView(R.layout.activity_list_time_form);
	getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.ic_launcher);
	Intent intent = getIntent();
	position_week = intent.getIntExtra(C.POSITION_WEEK, -1);
	// レイアウト参照取得
	linerLayout = (LinearLayout) findViewById(R.id.dateTimeSchedules);
	// データベース初期化
	queryManager = new QueryManager(this);
	logic020 = new Logic020(this, queryManager);
	logic020.initializing();
	//
	String weekDayString = Logic001.getWeekDayString(this, position_week);
	setTitle(weekDayString);// タイトル表示
    }

    @Override
    protected void onResume() {
	super.onResume();
	// リストビューにセットする
	logic020.addListFromDB(linerLayout, position_week);
    }

    @Override
    public boolean onCreateOptionsMenu(
	Menu menu) {
	MenuInflater inflater = getMenuInflater();
	inflater.inflate(R.menu.activity_list_time_form_menue, menu);
	return true;
    }

    /**
     * コンテキストメニューが選択されたとき
     * 
     * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
     */
    public boolean onOptionsItemSelected(
	MenuItem item) {
	switch (item.getItemId()) {
	case R.id.menu_add:
	    Log.i("Main Select Menue Add", "position_week = " + position_week);
	    Intent intent_add = new Intent(this, QueryForm.class);
	    intent_add.putExtra(C.MODE, C.MODE_INSERT);
	    intent_add.putExtra(C.POSITION_WEEK, position_week);
	    intent_add.putExtra(C.TIME_START, Logic001.getNowTime());
	    intent_add.putExtra(C.TIME_END, Logic001.getNowTime(30));
	    startActivity(intent_add);
	    break;
	case R.id.menu_back:
	    this.finish();
	    break;
	}
	return super.onOptionsItemSelected(item);
    }
}
